<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <!-- 三角形最小路径和

```
给定一个三角形 triangle ，找出自顶向下的最小路径和。
每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。也就是说，如果正位于当前行的下标 i ，那么下一步可以移动到下一行的下标 i 或 i + 1 

示例 1：
输入：triangle = [[2],[3,4],[6,5,7],[4,1,8,3]]
输出：11
 -->
</head>
<body>
  <script>
    var minimumTotal = function(triangle) {
    const row = triangle.length;
    if (row===0) {
        return 0;
    }
    for(let i=row-2; i>=0; i--) {
        for(let j=0, col=triangle[i].length; j<col; j++) {
            let min = Math.min(triangle[i+1][j], triangle[i+1][j+1]);
            triangle[i][j] += min;
        }
    }
    return triangle[0][0];
};
console.log(minimumTotal([[2],[3,4],[6,5,7],[4,1,8,3]]));
//从倒数第2层开始向上，每次从下一层中取出最小的那个，与当前值相加。最后最顶端的值，就是最短的路径！
  </script>
</body>
</html>